<?php
// +----------------------------------------------------------------------
// | HisiPHP框架[基于ThinkPHP5.1开发]
// +----------------------------------------------------------------------
// | Copyright (c) 2016-2021 http://www.HisiPHP.com
// +----------------------------------------------------------------------
// | HisiPHP承诺基础框架永久免费开源，您可用于学习和商用，但必须保留软件版权信息。
// +----------------------------------------------------------------------
// | Author: 橘子俊 <364666827@qq.com>，开发者QQ群：50304283
// +----------------------------------------------------------------------

namespace app\common\controller;
use src\callback\WXBizMsgCrypt;
use app\system\model\SystemUser as SystemUserModel;

/**
 * 企业微信公共控制器
 * @package app\common\controller
 */
class Wework extends Base
{

	protected $adminInfo = [];
	protected $toUserName = '';

	/**
	 * 权限检测
	 *
	 * @author KING
	 * @date 2020年7月7日
	 *
	 * @param WXBizMsgCrypt $wxcpt
	 */
	public function checkRight(WXBizMsgCrypt $wxcpt) {
		$this->toUserName = $wxcpt->toUserName;
		$adminId = db('wework_user')->where('userid', $this->toUserName)->value('admin_id');
		if (!$adminId) {
			$this->replyMessage($this->toUserName . '未绑定数据管理中心帐号，请联系管理员');
		}

		$systemUserModel = new SystemUserModel();
		if(!$this->adminInfo = $systemUserModel->isLogin()) {
			$adminUsername = db('system_user')->where('id', $adminId)->value('username');
			$this->adminInfo = $systemUserModel->login($adminUsername, '', true);
			if (!$this->adminInfo) {
				$this->replyMessage($this->toUserName . $systemUserModel->error);
			}
			addLog('登录未命中', 'test');
		} else {
			addLog('登录命中', 'test');
		}

	}

	/**
	 * 回复文本消息
	 *
	 * @author KING
	 * @date 2020年7月7日
	 *
	 * @param string $msg
	 * @param string $exit
	 */
	public function replyMessage($msg, $exit=true) {
		try {
			$wework = new \Wework();
			$wework->textMessageSend($msg, [$this->toUserName]);
		} catch (\Exception $e) {
			addLog($e->getMessage(), 'replyMessage');
		}
		if ($exit) exit();
	}
}
